package com.nulldev.util.web.HttpServer3;

/**
 * Controls the behaviour of HttpServer's SSL (HTTPS) support.
 * 
 * @author null
 * @since 3.0.0 (prototype added at last build of 2.7)
 */
public enum SSLBehaviour {
	/**
	 * NO SSL, this should be used for debugging or demo purposes only.
	 */
	DISABLED,
	/**
	 * Disables the HTTP port, replaces it. <br>
	 * You shouldn't use this except for debugging purposes.
	 */
	LEGACY_OPTION,
	/**
	 * Attempts to get the nearest port for SSL above the current port.
	 */
	USE_NEAREST_PORT_POSITIVE,
	/**
	 * Attempts to get the nearest port for SSL below the current port.
	 */
	USE_NEAREST_PORT_NEGATIVE,
	/**
	 * Attempts to bind to the following ports: <br>
	 * <ul>
	 * <li>80 for HTTP</li>
	 * <li>443 for HTTPS</li>
	 * </ul>
	 * Note: You need to run your program with root or admin to make it possible to
	 * bind else you may get an exception thrown.
	 */
	ATTEMPT_STANDARD,
	/**
	 * Attempts to bind to the following ports: <br>
	 * <ul>
	 * <li>443 for HTTPS</li>
	 * </ul>
	 * Note: You need to run your program with root or admin to make it possible to
	 * bind else you may get an exception thrown.
	 */
	ATTEMPT_STANDARD_HTTPS_ONLY,
}
